package online.longzipeng.sort;

import online.longzipeng.PrintUtils;

/**
 * @author lzp
 * @Date:2023/10/16
 * @description: 选择排序
 */
public class Sort1Selection {

	/**
	 * 每次循环将二层循环中最小的值与一层循环的当前值交换位置
	 * 选择排序在任何情况下都是 O(n²)，效率不高
	 */
	public static void sort(int[] arr) {
		for (int i = 0; i < arr.length - 1; i++) {
			int index = i;
			for (int j = i + 1; j < arr.length; j++) {
				if (arr[index] > arr[j]) {
					index = j;
				}
			}
			int temp = arr[index];
			arr[index] = arr[i];
			arr[i] = temp;
		}

	}

	public static void main(String[] args) {
		int arr[] = new int[]{1, 9, 2, 8, 4, 3, 5, 7, 6};
		System.out.println("排序前：");
		PrintUtils.printArr(arr);
		sort(arr);
		System.out.println("排序后：");
		PrintUtils.printArr(arr);
	}
}
